Carnegie Mellon University

Eberly Center

Teaching Excellence & Educational Innovation

Code Inspection For Custom Feedback

Simmons, R., Cervesato, I., & S. Moore

We have used Typescript to re-implement the toolchain for C0, the language used in Carnegie Mellon's introductory data structures course. We made this substantial investment primarily to improve OLI assessments. Most interaction with programming languages in TEL settings involves shipping code to a remote server, running the compiler and test cases on that server, and parsing the response. It is vastly simpler to make the compiler toolchain directly available to the assessment. Furthermore, this approach lets us give feedback by inspecting the abstract syntax of student code, which is known to provide better learning outcomes than feedback based only on test cases. Our demo will present a number of OLI assessments based on this design. We will also showcase a second TEL application based on this compiler toolchain: an in-browser interpreter that allows students to experiment with C0 using a UI similar to the potentially familiar in-browser JavaScript console.

Robert Simmons, Computer Science, SCS

Iliano Cervesato, Computer Science Department, SCS

Steven Moore, Human Computer Interaction Institute, SCS